<linker>
  <assembly fullname="System.Private.CoreLib">
    <type fullname="System.GC">
      <!-- Methods are used to register and unregister frozen segments. They are private and experimental. -->
      <method name="_RegisterFrozenSegment" />
      <method name="_UnregisterFrozenSegment" />
      <method name="_RefreshMemoryLimit" />
    </type>
    <!-- Accessed via native code. -->
    <type fullname="System.Runtime.InteropServices.ComTypes.IEnumerable" />
    <type fullname="System.Runtime.InteropServices.ComTypes.IEnumerator" />
    <type fullname="System.Runtime.InteropServices.CustomMarshalers.*" />

    <!-- GetActualImplementationForArrayGenericIListOrIReadOnlyListMethod depends on slots of these interfaces not changing -->
    <type fullname="System.Collections.Generic.IEnumerable`1" />
    <type fullname="System.Collections.Generic.ICollection`1" />
    <type fullname="System.Collections.Generic.IReadOnlyCollection`1" />
    <type fullname="System.Collections.Generic.IList`1" />
    <type fullname="System.Collections.Generic.IReadOnlyList`1" />

    <!-- Indicator for illink that all instance methods are instantiated -->
    <type fullname="System.SZArrayHelper">
      <method name=".ctor" />
    </type>
  </assembly>

  <!-- The private Event methods are accessed by private reflection in the base EventSource class. -->
  <assembly fullname="System.Private.CoreLib" feature="System.Diagnostics.Tracing.EventSource.IsSupported" featurevalue="true" featuredefault="true">
    <type fullname="System.Diagnostics.Tracing.NativeRuntimeEventSource" />
  </assembly>

</linker>
